<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>宏任务与微任务</title>
</head>
<body>
    
</body>
<script>
    /*
        js是的执行是单线程的执行 我们可以简单的理解成就是只有一个人在工作
            在执行过程中 顺序都是从上到下执行 但是会优先的执行主线程任务 然后执行微任务 最后再执行宏任务
    */
    /*
        像我们呢遇到的回调函数 就是属于宏任务 比如定时器 点击事件等等  都是属于宏任务
        promise 属于的是微任务
    */
    setTimeout(()=>{
        console.log('宏任务','timeOut')
    },0)
    Promise.resolve()
    .then(()=>{
        console.log('微任务','promise')
    })
    console.log('主线程')

    /*
        最终的执行结果是  主线程  微任务 promise  宏任务 timeout
    */
</script>
</html>